package com.jinyou.utils.common;

//图片工具类

import com.jinyou.utils.oss.OssConfigConstants;
import com.jinyouapp.common.utils.image.BASE64DecodedMultipartFile;
import com.jinyouapp.common.utils.image.FileStoryInfo;
import com.jinyouapp.common.utils.image.ImageUtils;
import com.jinyouapp.common.utils.media.aliyun.AliOSSConfig;
import o2o.business.image.Base64ToImageUtils;
import o2o.business.image.ImageBusiness;
import o2o.system.Common;
import o2o.system.data.SYS_CONFIG_PATH;
import org.apache.commons.io.FileUtils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.util.DigestUtils;
import org.springframework.web.multipart.MultipartFile;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Base64;
import java.util.Date;
import java.util.UUID;

public class JYVideoUtils {


    //获取图片名
    public static String getImageName(String suffix) {
        return Common.sdfDateNoh.format(new Date()) + ToolUtils.getNeedString(18) + "." + suffix;
    }


    //存储图片
    public static String saveVideo(String folder, MultipartFile file) {
        String fileName = file.getOriginalFilename();
        String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
        // 获取文件类型
        JYFileUtils.FilePath fp = JYFileUtils.getFile(folder, getImageName(suffix));
        if (null == fp) {
            return null;
        }
        try {
            ImageBusiness.transferToServer(file, fp.file);
        } catch (IllegalStateException | IOException e) {
            e.printStackTrace();
            return null;
        }
        return fp.dbFileFullPath;
//
//        //1.验证参数的有效性
//        if (file == null) {
//            System.out.println("请选择上传文件");
//        }
//        if (file.isEmpty()) {
//            System.out.println("文件上传失败");
//        }
//
        //2.判定文件是否已上传(根据摘要信息)
        //2.1)根据mFile内容生成摘要信息(MD5)
//        String digest = null;
//        try {
//            byte[] bytes = file.getBytes();
//            digest =//摘要字符串
//                    DigestUtils.md5DigestAsHex(bytes);
//        } catch (Exception e) {
//            e.printStackTrace();
//            System.out.println("文件上传失败");
//        }
//        //2.2)根据摘要信息进行数据库查询
//        //3.假如文件不在则上传文件
//        SimpleDateFormat sdf =
//                new SimpleDateFormat("yyyy/MM/dd");
//        String dateDir = sdf.format(new Date());
//        File fileDir = new File("e:/uploads/" + dateDir);
////        //判定目录是否存在,不存在则创建
//        if (!fileDir.exists()) fileDir.mkdirs();
//        //构建文件对象(fileDir为目录,mFile.getOriginalFilename()文件名)
//        File dest = new File(fileDir, file.getOriginalFilename());
//        try {
//            //上传文件
//            file.transferTo(dest);
//        } catch (Exception e) {
//            e.printStackTrace();
//            System.out.println("数据保存失败");
//        }
//        //4.将文件信息保存到数据库
//
//
//        return null;

    }


}
